package controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import modelo.Item;

public class ControllerManterItem extends HttpServlet {

	private static final long serialVersionUID = 1L;
       

    public ControllerManterItem() {
        super();
        // TODO Auto-generated constructor stub
    }


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		// VERIFICA OPERACAO SOLICITADA 
		String operacao = request.getParameter("operacao");
		
		try {
			if ("salvarCadastroItem".equals(operacao)) {
				// INSTANCIA DE OBJETO PRODUTO
				Item item = new Item();
					// INCLUI EM OBJETO PRODUTO OS VALORES ENVIADOS DO FORMULADRIO
				 	item.setNmItem(request.getParameter("nomeItem"));
				 	item.setNmCategoriaItem(request.getParameter("categoriaItem"));
				 	
					
					// CHAMA O METODO CADASTRARPRODUTO ENVIANDO OS DADOS DE OBJETO PRODUTO 
					item.cadastrarItem();
					
					// RECEBE A LISTA DE PRODUTO ARMAZENA NA SESSAO
					request.getSession().setAttribute("listaItem", new ArrayList<Item>());
					// REDIRECIONA PARA A PAGINA DE CARDAPIO 
					request.getRequestDispatcher("Item.jsp").forward(request,response);
			
			} /*else if ("consultarItem".equals(operacao)) {
				
				
				Item item = new Item();
				
					
					// INSTANCIA DE LIST
					List<Item> retorno = new ArrayList<Item>();
					// RETORNA LISTA DE PRODUTO
					retorno = item.consultarItem();
					
					// RECEBE A LISTA DE PRODUTO ARMAZENA NA SESSAO
					request.getSession().setAttribute("listaItem", retorno);
					// REDIRECIONA PARA A PAGINA DE CARDAPIO 
					request.getRequestDispatcher("Item.jsp").forward(request, response);
					
			}*/ else if ("excluirItem".equals(operacao)){
				Item item = new Item();
					item.setCodItem(new Integer(request.getParameter("codItem")));
					
					item.excluirItem();
					
					// RECEBE A LISTA DE PRODUTO ARMAZENA NA SESSAO
					request.getSession().setAttribute("listaItem", new ArrayList<Item>());
					// REDIRECIONA PARA A PAGINA DE CARDAPIO 
					request.getRequestDispatcher("Item.jsp").forward(request, response);
			}
			
			
		} catch (Exception e) {
			// CHAMA O METODO DE ERRO
			tratarErro(request, response, e);
		} // FIM TRY

	} // FIM DOPOST
	
	// METODO QUE REDIRECIONA PARA PAGINA DE ERRO
	private void tratarErro(HttpServletRequest request, HttpServletResponse response, Exception e) throws ServletException, IOException {
		
		request.getSession().setAttribute("erro", e.toString());
		request.getRequestDispatcher("erro.jsp").forward(request, response);
	} // FIM TRATA ERRO

}
